package com.tarena.lbs.basic.pojo.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.Accessors;
import lombok.experimental.FieldDefaults;

import java.io.Serializable;
import java.util.Date;

/**
 * 标签库实体类
 */
@Data
@Accessors(chain = true) // 支持链式调用
@FieldDefaults(level = AccessLevel.PRIVATE)
@TableName("lbs_tag_library")
public class TagLibraryPO implements Serializable {
    @Schema(description = "标签id主键")
    @TableId(type = IdType.AUTO)
    Integer id; // 标签id主键

    Integer tagType; // 打标类型:0内容文章 1用户

    String tagName; // 分类/标签名称

    Integer tagParentId; // 上级标签id

    String coding; // 标签编码

    Integer status = 0; // 标签状态：0 启用 1禁用

    Integer usageCount; // 使用次数

    String tagDesc; // 标签描述

    Date createAt; // 标签创建时间

    Date updateAt; // 标签修改时间
    
    @Schema(description = "门店状态：0开启，1关闭")
    @TableField("store_status")
    Integer storeStatus; // 门店状态

    // 添加删除标记字段，用于假删除
    @TableField("deleted")
    Integer deleted = 0; // 删除标记：0未删除 1已删除 默认为0，

    @TableField(exist = false)
    private Date deleteTime; // 此字段在数据库中不存在，仅用于传参
}